﻿using System;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using FrameWork.Data.Mapping;
using MongoDB.Bson.Serialization.Attributes;

namespace FrameWork.Data.ViewObject
{
    public class TestEventData : ModelBase
    {
        private long _TestRecordID;
        /// <summary>
        /// 测试编码
        /// </summary>
        [Description("测试编码")]
        public long TestRecordID
        {
            get { return _TestRecordID; }
            set { _TestRecordID = value; OnPropertyChanged(nameof(TestRecordID)); }
        }
        private long _SeqIndex;
        /// <summary>
        /// 序号
        /// </summary>
        [Description("序号")]
        public long SeqIndex
        {
            get { return _SeqIndex; }
            set { _SeqIndex = value; OnPropertyChanged(nameof(SeqIndex)); }
        }
        private long _LoopIndex;
        /// <summary>
        /// 所属循环号
        /// </summary>
        [Description("循环序号")]
        public long LoopIndex
        {
            get { return _LoopIndex; }
            set { _LoopIndex = value; OnPropertyChanged(nameof(LoopIndex)); }
        }
        private string _StepName;
        /// <summary>
        /// 工步名称
        /// </summary>
        [Description("工步名称")]
        public string StepName
        {
            get { return _StepName; }
            set { _StepName = value; OnPropertyChanged(nameof(StepName)); }
        }
        //private int? _StepAccIndex;
        ///// <summary>
        ///// 工步名称
        ///// </summary>
        //[Description("工步累积循环号")]
        //public int? StepAccIndex
        //{
        //    get { return _StepAccIndex; }
        //    set { _StepAccIndex = value; OnPropertyChanged(nameof(StepAccIndex)); }
        //}
        private long? _TestTemplateId;
        /// <summary>
        /// 工步模版编号
        /// </summary>
        [Description("工步模版编号")]
        public long? TestTemplateId
        {
            get { return _TestTemplateId; }
            set { _TestTemplateId = value; OnPropertyChanged(nameof(TestTemplateId)); }
        }
        private long? _WorkStepId;
        /// <summary>
        /// 工步名称
        /// </summary>
        [Description("工步编号")]
        public long? WorkStepId
        {
            get { return _WorkStepId; }
            set { _WorkStepId = value; OnPropertyChanged(nameof(WorkStepId)); }
        }
        private DateTime _SystemTime;
        /// <summary>
        /// 系统时间
        /// </summary>
        [Description("系统时间")]
        [BsonDateTimeOptions(Kind = DateTimeKind.Local)]
        public DateTime SystemTime
        {
            get { return _SystemTime; }
            set { _SystemTime = value; OnPropertyChanged(nameof(SystemTime)); }
        }
        private double _RelativeTime;
        /// <summary>
        /// 相对时间
        /// </summary>
        [Description("相对时间")]
        public double RelativeTime
        {
            get { return _RelativeTime; }
            set { _RelativeTime = value; OnPropertyChanged(nameof(RelativeTime)); }
        }
        private int _TestEventType;
        /// <summary>
        /// 事件类型(事件码)
        /// </summary>
        [Description("事件类型")]
        public int TestEventType
        {
            get { return _TestEventType; }
            set { _TestEventType = value; OnPropertyChanged(nameof(TestEventType)); }
        }
        private string _TestEventName;
        /// <summary>
        /// 事件名称
        /// </summary>
        [Description("事件名称")]
        public string TestEventName
        {
            get { return _TestEventName; }
            set { _TestEventName = value; OnPropertyChanged(nameof(TestEventName)); }
        }
    }
}